package com.web.cms.pan.facade;

import com.blue.core.dict.State;
import com.blue.jdbc.Page;
import com.web.cms.pan.message.FileDataRequest;
import com.web.cms.pan.message.FileDataResponse;
import com.web.cms.pan.message.FolderFileRequest;
import com.web.cms.pan.message.FolderFileResponse;

import java.util.List;

/**
 * 文件数据接口
 * 
 * @author 代码由 blue-code 框架生成
 * @since 1.0 2018年04月09日
 */
public interface FileDataFacade
{
	/**
	 * 添加文件
	 */
	void add(FileDataRequest request);

	/**
	 * 更新文件名
	 */
	void update(FolderFileRequest request);

	/**
	 * 更新文件状态
	 */
	void state(FolderFileRequest request);

	/**
	 * 文件管理列表
	 */
	List<FolderFileResponse> list(Integer userId, Integer folderId, State state);

	/**
	 * 移动/复制文件</br>
	 * 1. type == 1，移动
	 * 2. type == 2，复制
	 */
	void operate(Integer userId, int folderFileId, int folderId, int type);

	/**
	 * 删除文件
	 */
	void delete(Integer userId, String ids);

	/**
	 * 原始文件列表
	 */
	Page<FileDataResponse> listFilePage(FileDataRequest request, int start, int size);
	
}
